package com.ruoyi.rules.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 所有收费规则对象 smart_charging_rule
 * 
 * @author ruoyi
 * @date 2025-03-27
 */
public class SmartChargingRule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 计费规则ID */
    private Long scRuleId;

    /** 对应的停车场ID */
    @Excel(name = "对应的停车场ID")
    private Long scParkingLotId;

    /** 免费停车时间（分钟） */
    @Excel(name = "免费停车时间", readConverterExp = "分=钟")
    private String scFreeTime;

    /** 创建的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建的时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date scCreateTime;

    /** 最后修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最后修改时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date scUpdateTime;

    /** 计费规则状态 */
    @Excel(name = "计费规则状态")
    private Long scIsActive;

    /** 封顶金额（元） */
    @Excel(name = "封顶金额", readConverterExp = "元=")
    private BigDecimal scCapAmount;

    /** 基础金额（元） */
    @Excel(name = "基础金额", readConverterExp = "元=")
    private BigDecimal scBaseAmount;

    /** 基础时间（小时） */
    @Excel(name = "基础时间", readConverterExp = "小=时")
    private String scBaseTime;

    public void setScRuleId(Long scRuleId) 
    {
        this.scRuleId = scRuleId;
    }

    public Long getScRuleId() 
    {
        return scRuleId;
    }

    public void setScParkingLotId(Long scParkingLotId) 
    {
        this.scParkingLotId = scParkingLotId;
    }

    public Long getScParkingLotId() 
    {
        return scParkingLotId;
    }

    public void setScFreeTime(String scFreeTime) 
    {
        this.scFreeTime = scFreeTime;
    }

    public String getScFreeTime() 
    {
        return scFreeTime;
    }

    public void setScCreateTime(Date scCreateTime) 
    {
        this.scCreateTime = scCreateTime;
    }

    public Date getScCreateTime() 
    {
        return scCreateTime;
    }

    public void setScUpdateTime(Date scUpdateTime) 
    {
        this.scUpdateTime = scUpdateTime;
    }

    public Date getScUpdateTime() 
    {
        return scUpdateTime;
    }

    public void setScIsActive(Long scIsActive) 
    {
        this.scIsActive = scIsActive;
    }

    public Long getScIsActive() 
    {
        return scIsActive;
    }

    public void setScCapAmount(BigDecimal scCapAmount) 
    {
        this.scCapAmount = scCapAmount;
    }

    public BigDecimal getScCapAmount() 
    {
        return scCapAmount;
    }

    public void setScBaseAmount(BigDecimal scBaseAmount) 
    {
        this.scBaseAmount = scBaseAmount;
    }

    public BigDecimal getScBaseAmount() 
    {
        return scBaseAmount;
    }

    public void setScBaseTime(String scBaseTime) 
    {
        this.scBaseTime = scBaseTime;
    }

    public String getScBaseTime() 
    {
        return scBaseTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("scRuleId", getScRuleId())
            .append("scParkingLotId", getScParkingLotId())
            .append("scFreeTime", getScFreeTime())
            .append("scCreateTime", getScCreateTime())
            .append("scUpdateTime", getScUpdateTime())
            .append("scIsActive", getScIsActive())
            .append("scCapAmount", getScCapAmount())
            .append("scBaseAmount", getScBaseAmount())
            .append("scBaseTime", getScBaseTime())
            .toString();
    }
}
